<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 练习： type放在最后一位实现：编写任意个数字的求和、差、积、商的函数
        // function getNum() {
        //     var type = arguments[arguments.length-1];
        //     // if (!type) {
        //     //     type = "和";
        //     // }
        //     var length = arguments.length-1;
        //     if(typeof arguments[arguments.length-1]!=='string'){
        //         type = "和";
        //         length = arguments.length;
        //     }
        //     var reslut = arguments[0];
        //     if (type == "商") {
        //         for (let i = 1; i < arguments.length; i++) {
        //             if (arguments[i] == 0) {
        //                 // 抛出错误
        //                 throw new Error("输入错误");
        //             }
        //         }
        //     }
        //     switch (type) {
        //         case '和':
        //             for (var i = 1; i < length; i++) {
        //                 // console.log(reslut)
        //                 reslut += arguments[i];
        //             }
        //             break;
        //         case '差':
        //             for (var i = 1; i < length; i++) {
        //                 reslut -= arguments[i];
        //             }
        //             break;
        //         case '积':
        //             for (var i = 1; i < length; i++) {
        //                 reslut *= arguments[i];
        //             }
        //             break
        //         case '商':
        //             for (var i = 1; i < length; i++) {
        //                 reslut /= arguments[i];
        //             }
        //             break
        //     }
        //     console.log(reslut);
        // }
        // getNum( 1, 2, 4, 6);
        // console.log("添加的代码");

        // 作业：编写一个函数求一个数字是否是质数
        // function fn(num) {
        //     var count = 0;
        //     for(var i=1;i<=num;i++){
        //         if(num%i==0){
        //             count++;
        //         }
        //     }
        //     if(count==2){
        //         console.log("是一个质数");
        //     }else{
        //         console.log("不是一个质数");
        //     }
        // }
        // fn(8);
        // 问题：编写一个函数求两个数字之间有多少个质数

        // function fn(a, b) {
        //     if (a > b) {
        //         var c = a;
        //         a = b;
        //         b = c;
        //     }
        //     // if (a < b) {
        //     //     var num = 0; //质数的个数
        //     //     for (var j = a; j < b; j++) {  //循环改变下面的某一个数
        //     //         var count = 0;
        //     //         for (var i = 1; i <= j; i++) {  //判断某一个数是不是质数
        //     //             if (j % i == 0) {
        //     //                 count++;
        //     //             }
        //     //         }
        //     //         if (count == 2) {
        //     //             num++;
        //     //         }
        //     //     }
        //     // } else if (a > b) {
        //         var num = 0; //质数的个数
        //         for (var j = a; j < b; j++) {  //循环改变下面的某一个数
        //             var count = 0;
        //             for (var i = 1; i <= j; i++) {  //判断某一个数是不是质数
        //                 if (j % i == 0) {
        //                     count++;
        //                 }
        //             }
        //             if (count == 2) {
        //                 num++;
        //             }
        //         }
        //     // }

        //     console.log(num);
        // }
        // fn(50, 1);

        //问题： 编写一个函数，计算任意两个数字之间所能组成的奇数个数，数字必须是个位数
        // function fn(a,b) {
        //     for(var i=a;i<=b;i++){
        //         for(var j=a;j<=b;j++){
        //             var num = i+""+j;
        //             // 隐式转换
        //             if(num%2==1){
        //                 console.log(num);
        //             }
        //         }
        //     }
        // }
        // fn(0,3);
        // 2个数字拼接
        // var a = 1;
        // var b = 3;

        // console.log(a+""+b);
        // 某个公司采用公用电话传递数据，数据是四位的整数，在传递过程中是加密的，加密规则如下：每位数字都加上5,然后用除以10的余数代替该数字，再将第一位和第四位交换，第二位和第三位交换，请编写一个函数，传入原文，输出密文
        function fn(num) {
            // console.log(num.length);
            // console.log((num+"").length)
            var strNum = num + "";
            var str = "";
            for (var i = 0; i < strNum.length; i++) {
                // console.log(strNum[i]);
                var res = (Number(strNum[i]) + 5) % 10;
                //    console.log(res);
                str += res;
            }
            // console.log(str);
            var newNum = parseInt(str[3] + str[2] + str[1] + str[0]);
            console.log(newNum)
        }
        fn(1234);

        // 字符串可以当成数组使用，但是数字不行；
        // var str = 1234+"";
        // for(var i=0;i<str.length;i++){
        //     console.log(str[i]);
        // }

        // 同学提供的方法
        function str(a) {
            var b = String(a);
            var arr = [];
            for (var i = 0; i < b.length; i++) {
                arr[i] = String((b[i] * 1 + 5) % 10);
            }
            var smtp1 = arr[3];
            arr[3] = arr[0];
            arr[0] = smtp1;
            var smtp2 = arr[1];
            arr[1] = arr[2];
            arr[2] = smtp2;
            console.log(arr);
            var str2 = "";
            for (var j = 0; j < arr.length; j++) {
                str2 += arr[j];
            }
            console.log(str2);
        }
        var a = 2185;
        str(a);
    </script>
</body>

</html>